package ${mapperInterface.packageName};

import ${tableClass.fullClassName};
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author 李皓
 * @description 针对表【${tableClass.tableName}<#if tableClass.remark?has_content>(${tableClass.remark!})</#if>】的数据库操作Mapper
 * @createDate ${.now?string('yyyy-MM-dd HH:mm:ss')}
 * @Entity ${tableClass.fullClassName}
 */
@Mapper
public interface ${mapperInterface.fileName} {

    /**
     * 删除记录
     *
     * @param id 主键
     * @return 影响行数
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 插入一行记录
     *
     * @param record 记录
     * @return 影响行数
     */
    int insert(${tableClass.shortClassName} record);

    /**
     * 插入一行记录, 忽略null字段
     *
     * @param record 记录
     * @return 影响行数
     */
    int insertSelective(${tableClass.shortClassName} record);

    /**
     * 查询一行记录
     *
     * @param id 主键
     * @return 记录
     */
    ${tableClass.shortClassName} selectByPrimaryKey(Long id);

    /**
     * 动态查询查询多行记录, 忽略null字段
     *
     * @param record 记录
     * @return 记录
     */
    List<${tableClass.shortClassName}> selectAllSelective(${tableClass.shortClassName} record);

    /**
     * 更新一行记录(条件为记录的主键), 忽略null字段
     *
     * @param record 记录
     * @return 影响行数
     */
    int updateByPrimaryKeySelective(${tableClass.shortClassName} record);

    /**
     * 更新一行记录(条件为记录的主键)
     *
     * @param record 记录
     * @return 影响行数
     */
    int updateByPrimaryKey(${tableClass.shortClassName} record);

}
